from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(主动技能):
    名称 = "军团列队"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 3
    等级精通 = 60
    CD = 5
    MP = [15, 360]
    无色消耗 = 0
    data0 = [0, 5524, 6397, 7281, 8161, 9044, 9924, 10799, 11682, 12563, 13445, 14326, 15202, 16084, 16965, 17848, 18723, 19604, 20487, 21368, 22251, 23124, 24007, 24887, 25771, 26652, 27528, 28408, 29291, 30172, 31054, 31931, 32813, 33691, 34575, 35449, 36331, 37214, 38096, 38978, 39852, 40734, 41616, 42498, 43381, 44255, 45135, 46020, 46898, 47780, 48658, 49539, 50418, 51302, 52177, 53060, 53940, 54822, 55704, 56580, 57460, 58343, 59225, 60107, 60981, 61863, 62746, 63627, 64503, 65385, 66266]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能1(被动技能):
    名称 = '魔灵血统'
    所在等级 = 15
    等级上限 = 11
    基础等级 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.08 + 0.02 * self.等级, 5)


class 技能2(主动技能):
    名称 = "魔灵炸弹"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [80, 400]
    无色消耗 = 0
    data0 = [0, 1099, 1211, 1323, 1435, 1546, 1659, 1770, 1881, 1992, 2104, 2216, 2327, 2440, 2551, 2663, 2773, 2886, 2997, 3109, 3221, 3332, 3444, 3556, 3667, 3778, 3890, 4002, 4114, 4225, 4338, 4448, 4559, 4672, 4783, 4895, 5006, 5119, 5230, 5341, 5453, 5565, 5676, 5787, 5901, 6011, 6124, 6234, 6347, 6457, 6571, 6682, 6794, 6905, 7016, 7128, 7239, 7352, 7463, 7575, 7687, 7799, 7909, 8021, 8133, 8244, 8356, 8468, 8580, 8691, 8802]
    hit0 = 1
    data1 = [0, 2200, 2424, 2646, 2869, 3092, 3316, 3540, 3762, 3986, 4209, 4433, 4656, 4879, 5102, 5325, 5548, 5772, 5995, 6220, 6441, 6666, 6890, 7113, 7336, 7558, 7782, 8004, 8228, 8452, 8675, 8898, 9121, 9345, 9569, 9791, 10014, 10237, 10461, 10684, 10907, 11131, 11354, 11577, 11801, 12024, 12248, 12469, 12693, 12917, 13139, 13363, 13586, 13810, 14033, 14256, 14480, 14703, 14925, 15148, 15372, 15596, 15818, 16042, 16265, 16489, 16712, 16935, 17159, 17382, 17604]
    hit1 = 4
    data2 = [0, 2751, 3029, 3309, 3587, 3866, 4146, 4426, 4703, 4983, 5262, 5541, 5820, 6099, 6379, 6658, 6936, 7215, 7496, 7773, 8053, 8332, 8611, 8890, 9169, 9448, 9728, 10005, 10285, 10565, 10844, 11122, 11402, 11680, 11960, 12238, 12518, 12798, 13076, 13355, 13634, 13914, 14193, 14472, 14750, 15030, 15309, 15588, 15867, 16146, 16424, 16704, 16983, 17263, 17541, 17820, 18100, 18378, 18658, 18937, 19216, 19495, 19774, 20053, 20333, 20612, 20890, 21169, 21448, 21728, 22007]
    hit2 = 1
    data3 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 23, 23]
    hit3 = 1
    TP成长 = 0.1
    TP上限 = 7

    def 等效百分比(self, **argv):
        char: Character = argv.get('char', {})
        self.power0 = 1 / char.get_skill_by_name("绝对魅力").加成倍率('')
        return super().等效百分比(**argv)


class 技能3(主动技能):
    名称 = "连锁共振"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 1
    CD = [6.5, 6.5, 6.5, 6.6, 6.6, 6.6, 6.6, 6.6, 6.6, 6.7, 6.7, 6.7, 6.7, 6.7, 6.8, 6.8, 6.8, 6.8, 6.8, 6.9, 6.9, 6.9, 6.9, 6.9, 6.9, 7, 7, 7, 7, 7, 7.1, 7.1, 7.1, 7.1, 7.1, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.3, 7.3, 7.3, 7.3, 7.3, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.5, 7.5, 7.5, 7.5, 7.5, 7.6, 7.6, 7.6, 7.6, 7.6, 7.7, 7.7, 7.7, 7.7, 7.7, 7.7, 7.8, 7.8]
    MP = [20, 400]
    无色消耗 = 0
    data0 = [0, 1610, 1691, 1773, 1852, 1934, 2014, 2097, 2177, 2259, 2340, 2423, 2502, 2584, 2665, 2746, 2828, 2908, 2988, 3070, 3150, 3232, 3313, 3394, 3476, 3557, 3638, 3719, 3800, 3879, 3961, 4044, 4124, 4203, 4287, 4367, 4449, 4529, 4609, 4692, 4772, 4854, 4934, 5014, 5097, 5177, 5259, 5339, 5419, 5502, 5582, 5665, 5745, 5825, 5908, 5988, 6071, 6151, 6232, 6314, 6394, 6475, 6555, 6636, 6716, 6796, 6876, 6956, 7036, 7116, 7198]
    hit0 = 1
    data1 = [0, 160, 169, 177, 185, 194, 203, 210, 219, 226, 234, 242, 250, 258, 266, 275, 283, 291, 299, 306, 315, 323, 331, 339, 348, 356, 364, 371, 380, 389, 396, 404, 412, 420, 429, 438, 445, 453, 461, 469, 478, 485, 493, 501, 510, 519, 526, 534, 543, 550, 559, 566, 574, 583, 591, 600, 606, 615, 624, 631, 639, 647, 654, 663, 670, 678, 686, 693, 701, 708, 717]
    hit1 = 3
    TP成长 = 0.1
    TP上限 = 7

    def 等效CD(self, **argv):
        # 武器类型 输出类型 额外CDR 手搓收益 恢复
        武器类型 = argv.get('武器类型', '')
        输出类型 = argv.get('输出类型', '')
        额外CDR = argv.get('额外CDR', 1.0)
        # 手搓收益 = argv.get('手搓收益', 1.0)
        面板显示 = argv.get('面板显示', False)
        额外恢复 = argv.get('额外恢复', 0)

        cdr = self.手搓CD()

        return round(max(self.CD[self.等级] * self.CDR * 额外CDR / ((self.恢复 + 额外恢复) if not 面板显示 else 1) * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0)), self.CD[self.等级] * 0.3)*self.CDR_O, 1)

    # def 加成倍率(self, 武器类型):
    #     if self.等级 == 0:
    #         return 1.0
    #     else:
    #         if self.等级 <= 7:
    #             return round(1.94 + 0.02 * self.等级, 5)
    #         else:
    #             return round(2.1 + 0 * (self.等级 - 7), 5)


class 技能4(被动技能):
    名称 = '力量法则'
    所在等级 = 20
    等级上限 = 11
    基础等级 = 1
    关联技能 = ['军团列队', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击',
            '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸：亚丁降临', '绽放·终章', '盛宴·恶之祭典']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.085 + 0.015 * self.等级, 5)


class 技能5(主动技能):
    名称 = "魔幻旋风"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [25, 480]
    无色消耗 = 0
    data0 = [0, 385, 422, 460, 501, 540, 578, 617, 656, 695, 735, 773, 812, 848, 890, 929, 966, 1007, 1045, 1084, 1123, 1163, 1200, 1238, 1278, 1317, 1355, 1395, 1434, 1473, 1512, 1550, 1589, 1626, 1668, 1706, 1744, 1783, 1823, 1863, 1900, 1939, 1978, 2017, 2056, 2095, 2135, 2173, 2211, 2251, 2288, 2328, 2366, 2405, 2446, 2484, 2524, 2561, 2601, 2639, 2678, 2716, 2755, 2795, 2834, 2873, 2912, 2950, 2988, 3028, 3066]
    hit0 = 14
    data1 = [0, 1148, 1262, 1379, 1496, 1610, 1728, 1843, 1961, 2078, 2192, 2310, 2425, 2542, 2660, 2774, 2891, 3006, 3123, 3239, 3356, 3473, 3589, 3706, 3820, 3937, 4053, 4169, 4287, 4402, 4519, 4634, 4751, 4867, 4983, 5100, 5216, 5332, 5449, 5566, 5681, 5798, 5913, 6030, 6147, 6262, 6378, 6495, 6612, 6729, 6845, 6961, 7076, 7191, 7309, 7426, 7542, 7658, 7776, 7891, 8007, 8122, 8239, 8356, 8472, 8589, 8704, 8820, 8937, 9054, 9171]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7



class 技能6(主动技能):
    名称 = '绝对魅力'
    所在等级 = 25
    等级上限 = 20
    基础等级 = 10
    是否有伤害 = 0
    关联技能 = ["魔灵炸弹", "碎灵屠戮"]

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.035 + 0.012 * self.等级, 5)


class 技能7(主动技能):
    名称 = "毁灭突进"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [30, 950]
    无色消耗 = 0
    data0 = [0, 4065, 4469, 4882, 5299, 5711, 6123, 6524, 6938, 7354, 7771, 8180, 8593, 9001, 9419, 9821, 10236, 10649, 11063, 11470, 11885, 12295, 12704, 13128, 13530, 13947, 14354, 14768, 15182, 15591, 16001, 16411, 16827, 17244, 17643, 18062, 18475, 18881, 19300, 19712, 20125, 20529, 20942, 21353, 21771, 22175, 22585, 22999, 23417, 23827, 24235, 24651, 25052, 25470, 25886, 26295, 26702, 27115, 27529, 27946, 28350, 28770, 29186, 29591, 30003, 30408, 30825, 31237, 31649, 32061, 32471]
    hit0 = 2
    data1 = [0, 115, 127, 138, 150, 161, 174, 183, 197, 207, 218, 231, 240, 254, 266, 277, 288, 300, 311, 323, 332, 345, 356, 370, 381, 391, 403, 415, 426, 437, 449, 461, 473, 485, 496, 506, 518, 530, 539, 553, 564, 576, 590, 599, 611, 624, 633, 645, 657, 668, 680, 692, 703, 714, 725, 738, 749, 760, 772, 783, 796, 807, 820, 830, 842, 852, 863, 875, 889, 899, 912]
    hit1 = 5
    data2 = [0, 344, 376, 411, 447, 482, 516, 549, 585, 619, 655, 688, 722, 758, 792, 828, 861, 895, 931, 964, 999, 1034, 1067, 1104, 1137, 1171, 1207, 1242, 1276, 1310, 1344, 1379, 1416, 1451, 1483, 1520, 1554, 1587, 1623, 1658, 1691, 1726, 1760, 1794, 1831, 1865, 1899, 1934, 1969, 2002, 2036, 2074, 2106, 2141, 2174, 2209, 2245, 2279, 2313, 2347, 2382, 2418, 2451, 2490, 2523, 2554, 2592, 2625, 2658, 2695, 2730]
    hit2 = 5
    TP成长 = 0.1
    TP上限 = 7
    def 等效百分比(self, **argv):
        char: Character = argv.get('char', {})
        self.power1 = self.power2 = char.get_skill_by_name("绝对魅力").加成倍率('')
        return super().等效百分比(**argv)


class 技能8(主动技能):
    名称 = "翔空剑"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [35, 1350]
    无色消耗 = 1
    data0 = [0, 1427, 1572, 1716, 1862, 2005, 2151, 2296, 2440, 2586, 2729, 2875, 3020, 3166, 3308, 3454, 3599, 3743, 3889, 4033, 4179, 4323, 4467, 4614, 4757, 4902, 5047, 5194, 5336, 5481, 5626, 5771, 5917, 6060, 6203, 6349, 6494, 6639, 6783, 6927, 7074, 7216, 7362, 7507, 7653, 7797, 7941, 8086, 8231, 8377, 8521, 8666, 8810, 8955, 9101, 9243, 9390, 9535, 9678, 9824, 9969, 10114, 10258, 10403, 10547, 10693, 10837, 10982, 11128, 11271, 11417]
    hit0 = 1
    data1 = [0, 1870, 2059, 2249, 2439, 2629, 2817, 3007, 3198, 3388, 3579, 3767, 3957, 4148, 4337, 4526, 4714, 4904, 5095, 5284, 5474, 5664, 5852, 6043, 6232, 6423, 6613, 6802, 6992, 7181, 7370, 7560, 7748, 7939, 8129, 8318, 8508, 8699, 8887, 9079, 9269, 9458, 9649, 9836, 10026, 10216, 10405, 10596, 10785, 10974, 11164, 11353, 11544, 11735, 11922, 12113, 12304, 12492, 12682, 12870, 13060, 13250, 13440, 13630, 13819, 14008, 14199, 14388, 14578, 14768, 14958]
    hit1 = 1
    data2 = [0, 1405, 1549, 1689, 1833, 1974, 2117, 2260, 2401, 2544, 2686, 2828, 2973, 3115, 3257, 3399, 3542, 3685, 3827, 3968, 4111, 4253, 4396, 4539, 4682, 4824, 4966, 5109, 5252, 5393, 5538, 5679, 5820, 5963, 6105, 6249, 6391, 6534, 6676, 6820, 6961, 7103, 7245, 7387, 7531, 7673, 7814, 7958, 8100, 8244, 8385, 8529, 8670, 8813, 8955, 9097, 9240, 9381, 9524, 9668, 9811, 9952, 10096, 10237, 10379, 10523, 10664, 10808, 10949, 11091, 11234]
    hit2 = 1
    data3 = [0, 844, 930, 1017, 1099, 1185, 1272, 1356, 1441, 1527, 1613, 1699, 1785, 1870, 1956, 2042, 2128, 2211, 2297, 2383, 2468, 2555, 2640, 2725, 2811, 2898, 2982, 3067, 3153, 3240, 3325, 3410, 3496, 3581, 3667, 3751, 3838, 3923, 4009, 4095, 4180, 4266, 4352, 4436, 4523, 4607, 4691, 4778, 4863, 4949, 5034, 5121, 5207, 5291, 5376, 5463, 5548, 5634, 5719, 5806, 5891, 5977, 6062, 6147, 6232, 6318, 6404, 6489, 6575, 6660, 6747]
    hit3 = 1
    data4 = [0, 563, 619, 678, 734, 789, 847, 904, 961, 1019, 1076, 1132, 1190, 1247, 1304, 1362, 1419, 1476, 1534, 1590, 1645, 1704, 1760, 1818, 1874, 1933, 1988, 2046, 2103, 2161, 2217, 2276, 2330, 2385, 2444, 2500, 2558, 2615, 2673, 2728, 2787, 2843, 2901, 2957, 3016, 3071, 3127, 3185, 3242, 3299, 3357, 3414, 3470, 3528, 3585, 3642, 3700, 3757, 3814, 3871, 3928, 3983, 4043, 4098, 4156, 4211, 4270, 4326, 4384, 4441, 4499]
    hit4 = 15
    data5 = [0, 2239, 2467, 2694, 2921, 3150, 3376, 3602, 3830, 4059, 4285, 4512, 4738, 4966, 5195, 5422, 5646, 5874, 6101, 6330, 6556, 6782, 7011, 7238, 7465, 7692, 7919, 8146, 8375, 8602, 8827, 9056, 9283, 9510, 9738, 9962, 10190, 10418, 10645, 10872, 11100, 11326, 11554, 11782, 12009, 12235, 12463, 12690, 12917, 13146, 13371, 13598, 13827, 14054, 14282, 14507, 14734, 14962, 15190, 15416, 15643, 15870, 16098, 16326, 16551, 16778, 17007, 17234, 17461, 17688, 17915]
    hit5 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.32
        self.演出时间 += 0.32

    def 等效百分比(self, **argv):
        self.hit4 = 15 + self.TP等级
        return super().等效百分比(**argv)


class 技能9(主动技能):
    名称 = "碎灵屠戮"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [80, 3500]
    无色消耗 = 1
    data0 = [0, 2269, 2493, 2716, 2940, 3163, 3385, 3607, 3831, 4053, 4279, 4501, 4726, 4950, 5181, 5404, 5617, 5842, 6064, 6295, 6517, 6733, 6960, 7180, 7413, 7627, 7859, 8080, 8306, 8529, 8744, 8976, 9197, 9425, 9645, 9862, 10092, 10320, 10539, 10761, 10986, 11210, 11435, 11656, 11876, 12103, 12323, 12547, 12774, 12993, 13218, 13445, 13668, 13887, 14112, 14334, 14559, 14785, 15004, 15229, 15451, 15673, 15907, 16123, 16343, 16570, 16793, 17015, 17236, 17460, 17683]
    hit0 = 1
    data1 = [0, 4161, 4571, 4989, 5407, 5819, 6233, 6649, 7063, 7480, 7896, 8306, 8725, 9141, 9562, 9980, 10382, 10800, 11213, 11637, 12052, 12457, 12872, 13289, 13714, 14120, 14543, 14959, 15372, 15791, 16195, 16620, 17030, 17452, 17863, 18270, 18691, 19113, 19524, 19935, 20354, 20770, 21185, 21597, 22011, 22428, 22842, 23258, 23673, 24085, 24505, 24921, 25335, 25748, 26164, 26579, 26996, 27410, 27823, 28239, 28654, 29068, 29496, 29899, 30315, 30729, 31146, 31557, 31977, 32387, 32805]
    hit1 = 1
    data2 = [0, 7005, 7715, 8425, 9138, 9848, 10557, 11271, 11980, 12691, 13401, 14110, 14820, 15532, 16241, 16955, 17664, 18376, 19087, 19795, 20507, 21214, 21928, 22638, 23347, 24057, 24770, 25481, 26191, 26900, 27612, 28325, 29034, 29744, 30454, 31163, 31876, 32588, 33296, 34007, 34716, 35429, 36139, 36850, 37557, 38272, 38980, 39693, 40403, 41113, 41824, 42533, 43244, 43957, 44666, 45376, 46087, 46800, 47509, 48220, 48929, 49640, 50350, 51056, 51773, 52481, 53192, 53903, 54615, 55326, 56034]
    hit2 = 1
    data3 = [0, 8973, 9880, 10789, 11700, 12610, 13519, 14433, 15337, 16249, 17160, 18069, 18978, 19891, 20799, 21709, 22619, 23529, 24439, 25352, 26259, 27170, 28080, 28987, 29898, 30808, 31720, 32630, 33538, 34449, 35360, 36268, 37179, 38089, 38996, 39908, 40820, 41728, 42641, 43548, 44457, 45367, 46278, 47187, 48100, 49005, 49919, 50828, 51738, 52647, 53558, 54469, 55375, 56287, 57197, 58107, 59019, 59927, 60838, 61748, 62658, 63568, 64475, 65389, 66299, 67206, 68118, 69026, 69935, 70847, 71757]
    hit3 = 1
    data4 = [0, 8126, 8950, 9778, 10600, 11423, 12247, 13071, 13894, 14721, 15542, 16366, 17194, 18018, 18842, 19665, 20489, 21314, 22138, 22964, 23787, 24612, 25434, 26261, 27085, 27909, 28734, 29556, 30382, 31205, 32030, 32857, 33679, 34503, 35326, 36153, 36977, 37800, 38626, 39449, 40273, 41099, 41922, 42744, 43568, 44391, 45217, 46044, 46865, 47690, 48514, 49340, 50164, 50986, 51813, 52638, 53460, 54285, 55109, 55935, 56760, 57581, 58405, 59232, 60056, 60879, 61703, 62527, 63354, 64177, 65000]
    hit4 = 1
    data5 = [0, 2458, 2706, 2958, 3205, 3455, 3706, 3953, 4203, 4449, 4703, 4950, 5201, 5450, 5697, 5946, 6197, 6446, 6695, 6946, 7193, 7442, 7692, 7942, 8189, 6162, 8689, 8937, 9188, 9437, 9687, 9937, 10188, 10435, 10680, 10932, 11181, 11431, 11681, 11932, 12177, 12429, 12675, 12928, 13175, 13427, 13674, 13922, 14172, 14422, 14674, 14922, 15172, 15421, 15668, 15918, 16166, 16419, 16664, 16916, 17164, 17414, 17661, 17915, 18161, 18410, 18659, 18909, 19157, 19407, 19656]
    hit5 = 1
    data6 = [0, 3029, 3338, 3640, 3951, 4258, 4563, 4871, 5176, 5487, 5791, 6100, 6405, 6713, 7019, 7326, 7633, 7942, 8245, 8555, 8862, 9170, 9476, 9782, 10092, 10395, 10704, 11009, 11317, 11625, 11934, 12241, 12547, 12857, 13161, 13469, 13778, 14084, 14390, 14698, 15006, 15311, 15616, 15927, 16231, 16539, 16845, 17154, 17460, 17768, 18076, 18379, 18689, 18995, 19302, 19610, 19917, 20222, 20529, 20840, 21144, 21454, 21761, 22067, 22376, 22681, 22990, 23298, 23605, 23912, 24216]
    hit6 = 1
    data7 = [0, 4913, 5411, 5912, 6412, 6906, 7406, 7905, 8405, 8902, 9401, 9900, 10397, 10898, 11395, 11892, 12391, 12890, 13389, 13887, 14386, 14884, 15384, 15880, 16378, 16878, 17375, 17876, 18376, 18872, 19372, 19873, 20367, 20867, 21366, 21862, 22361, 22861, 23361, 23857, 24357, 24857, 25352, 25851, 26347, 26847, 27348, 27848, 28346, 28844, 29341, 29840, 30338, 30838, 31337, 31835, 32331, 32832, 33332, 33829, 34327, 34826, 35322, 35821, 36319, 36819, 37319, 37818, 38316, 38816, 39313]
    hit7 = 1
    data8 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19]
    hit8 = 1
    data9 = [0, 655, 724, 789, 855, 922, 991, 1058, 1120, 1187, 1257, 1322, 1386, 1454, 1520, 1588, 1653, 1719, 1787, 1851, 1923, 1984, 2052, 2120, 2184, 2252, 2319, 2387, 2452, 2516, 2585, 2650, 2717, 2784, 2849, 2917, 2983, 3048, 3115, 3182, 3251, 3316, 3380, 3449, 3513, 3583, 3647, 3714, 3782, 3847, 3912, 3980, 4045, 4115, 4178, 4246, 4310, 4378, 4445, 4511, 4577, 4646, 4712, 4776, 4843, 4911, 4978, 5043, 5111, 5176, 5242]
    hit9 = 1
    data10 = [0, 2599, 2860, 3121, 3385, 3650, 3910, 4175, 4438, 4700, 4964, 5225, 5491, 5756, 6018, 6278, 6543, 6807, 7070, 7335, 7598, 7859, 8122, 8382, 8650, 8913, 9174, 9439, 9701, 9966, 10230, 10495, 10758, 11018, 11281, 11542, 11808, 12072, 12334, 12599, 12859, 13124, 13387, 13653, 13915, 14176, 14441, 14704, 14967, 15229, 15494, 15753, 16017, 16283, 16546, 16810, 17073, 17335, 17600, 17863, 18126, 18389, 18651, 18914, 19178, 19441, 19704, 19969, 20231, 20493, 20756]
    hit10 = 7
    出血data0 = [0, 7371, 8119, 8866, 9615, 10361, 11111, 11858, 12605, 13353, 14102, 14848, 15597, 16343, 17090, 17838, 18588, 19335, 20082, 20832, 21579, 22328, 23074, 23819, 24568, 25318, 26064, 26812, 27562, 28311, 29055, 29807, 30552, 31298, 32047, 32793, 33541, 34292, 35039, 35787, 36535, 37284, 38030, 38777, 39525, 40273, 41021, 41768, 42517, 43265, 44014, 44759, 45507, 46256, 47002, 47752, 48499, 49246, 49993, 50744, 51489, 52238, 52985, 53732, 54482, 55227, 55977, 56723, 57473, 58219, 58967]
    出血hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.34
        self.CDR *= 0.9

    # 佩戴护石时，体术部分由于被整合，所以也被绝对魔力一起加成
    def 等效百分比(self, **argv):
        char: Character = argv.get('char', {})
        倍率 = char.get_skill_by_name("绝对魅力").加成倍率('')
        if '碎灵屠戮' not in char.护石栏:
            self.power0 = 1.0 / 倍率
        else:
            self.power0 = 1.0
        return super().等效百分比(**argv)

    def 基础百分比(self, 类型, 等级):
        if 类型 == '直伤':
            name = ''
        else:
            name = 类型
        百分比 = 0.0
        for i in range(0, 11):
            data = getattr(self, '{}data{}'.format(name, i), [])
            if 等级 < len(data) and 等级 > 0:
                hit = getattr(self, '{}hit{}'.format(name, i), 1)
                power = getattr(self, '{}power{}'.format(name, i), 1)
                百分比 += data[等级] * hit * power
        return 百分比*self.国服特色


class 技能10(主动技能):
    名称 = "聚灵升空剑"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 40
    MP = [80, 5000]
    无色消耗 = 2
    data0 = [0, 6417, 7069, 7720, 8371, 9022, 9674, 10324, 10976, 11627, 12278, 12930, 13580, 14233, 14882, 15534, 16184, 16836, 17487, 18137, 18790, 19440, 20092, 20743, 21394, 22045, 22697, 23348, 23999, 24649, 25300, 25951, 26603, 27255, 27905, 28557, 29207, 29859, 30511, 31162, 31813, 32463, 33115, 33764, 34417, 35068, 35719, 36370, 37021, 37672, 38325, 38975, 39626, 40277, 40928, 41581, 42231, 42882, 43532, 44184, 44834, 45486, 46138, 46788, 47440, 48090, 48742, 49393, 50045, 50696, 51347]
    hit0 = 2
    data1 = [0, 3209, 3534, 3860, 4184, 4512, 4837, 5162, 5487, 5813, 6139, 6465, 6790, 7116, 7441, 7766, 8092, 8417, 8744, 9069, 9395, 9719, 10046, 10372, 10697, 11022, 11348, 11674, 11998, 12325, 12650, 12975, 13301, 13627, 13952, 14278, 14604, 14930, 15254, 15581, 15905, 16232, 16557, 16882, 17208, 17533, 17860, 18185, 18510, 18836, 19162, 19487, 19812, 20138, 20465, 20789, 21116, 21440, 21766, 22092, 22417, 22743, 23067, 23395, 23719, 24045, 24370, 24697, 25022, 25347, 25673]
    hit1 = 1
    data2 = [0, 16046, 17673, 19302, 20929, 22557, 24184, 25813, 27440, 29067, 30697, 32324, 33952, 35580, 37208, 38834, 40463, 42090, 43719, 45347, 46975, 48602, 50231, 51858, 53486, 55113, 56743, 58370, 59996, 61625, 63252, 64880, 66508, 68137, 69764, 71393, 73020, 74648, 76276, 77903, 79530, 81160, 82787, 84415, 86043, 87671, 89298, 90927, 92555, 94183, 95811, 97437, 99065, 100693, 102321, 103948, 105578, 107205, 108833, 110461, 112089, 113716, 115345, 116972, 118600, 120227, 121856, 123483, 125111, 126739, 128367]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.31


class 技能11(被动技能):
    名称 = '魔能榨取'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['所有']
    非关联技能 = ['连锁共振']
    CP武器 = False

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 16:
                return round(1.015 + 0.015 * self.等级 + (0.15 if self.CP武器 else 0), 5)
            else:
                return round(1.295 + 0.020 * (self.等级 - 16) + (0.15 if self.CP武器 else 0), 5)


class 技能12(主动技能):
    名称 = "魔神百裂拳"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [900, 7559]
    无色消耗 = 5
    data0 = [0, 2746, 3386, 4020, 4659, 5294, 5929, 6564, 7204, 7839, 8478, 9111, 9752, 10388, 11024, 11660, 12295, 12934, 13570, 14209, 14842, 15478, 16117, 16753, 17389, 18026, 18664, 19301, 19938, 20574, 21211, 21847, 22484, 23119, 23757, 24394, 25031, 25667, 26306, 26942, 27577, 28214, 28850, 29489, 30125, 30762, 31398, 32036, 32670, 33308, 33944]
    hit0 = 12
    data1 = [0, 16474, 20295, 24113, 27936, 31756, 35577, 39395, 43216, 47038, 50857, 54677, 58496, 62316, 66140, 69958, 73778, 77599, 81418, 85239, 89058, 92880, 96700, 100522, 104340, 108158, 111981, 115802, 119619, 123440, 127262, 131081, 134902, 138722, 142541, 146363, 150182, 154001, 157824, 161644, 165462, 169284, 173102, 176924, 180745, 184565, 188385, 192205, 196026, 199845, 203665]
    hit1 = 1
    data2 = [0, 10980, 13530, 16073, 18622, 21166, 23717, 26260, 28812, 31354, 33904, 36448, 38997, 41544, 44091, 46640, 49181, 51733, 54275, 56826, 59367, 61919, 64462, 67011, 69554, 72104, 74656, 77198, 79749, 82291, 84841, 87383, 89935, 92477, 95026, 97571, 100121, 102663, 105214, 107764, 110304, 112856, 115400, 117950, 120492, 123043, 125585, 128136, 130679, 133229, 135772]
    hit2 = 3

    倍率 = 1.1  # bb在场数量增伤;每只1%


class 技能13(主动技能):
    名称 = "黑暗冲击"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [750, 1560]
    无色消耗 = 1
    data0 = [0, 9983, 10995, 12008, 13021, 14034, 15046, 16058, 17071, 18083, 19097, 20109, 21121, 22133, 23146, 24159, 25172, 26185, 27198, 28210, 29223, 30236, 31249, 32261, 33274, 34286, 35300, 36312, 37324, 38337, 39349, 40363, 41376, 42389, 43401, 44414, 45426, 46440, 47452, 48465, 49477, 50490, 51502, 52516, 53528, 54542, 55554, 56567, 57580, 58592, 59604]
    hit0 = 1
    data1 = [0, 5823, 6412, 7004, 7595, 8185, 8777, 9367, 9958, 10548, 11139, 11730, 12319, 12912, 13503, 14092, 14683, 15275, 15865, 16456, 17047, 17638, 18228, 18818, 19410, 19999, 20591, 21183, 21772, 22363, 22955, 23545, 24136, 24726, 25318, 25908, 26498, 27090, 27679, 28271, 28862, 29452, 30043, 30633, 31225, 31815, 32406, 32997, 33588, 34178, 34769]
    hit1 = 4
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.power1 = 1+6*0.35


class 技能14(主动技能):
    名称 = "午夜嘉年华"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [1035, 2360]
    无色消耗 = 2
    data0 = [0, 1877, 2072, 2260, 2451, 2637, 2828, 3019, 3211, 3400, 3590, 3781, 3973, 4162, 4353, 4544, 4735, 4921, 5112, 5308, 5494, 5685, 5875, 6067, 6257, 6448, 6638, 6826, 7020, 7209, 7399, 7588, 7781, 7968, 8158, 8353, 8542, 8731, 8923, 9109, 9304, 9493, 9682, 9876, 10065, 10254, 10446, 10638, 10827, 11018, 11207]
    hit0 = 31
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 35
        self.倍率 *= 1.16
        self.演出时间 += 0.2


class 技能15(主动技能):
    名称 = "绚丽耀光"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [744, 5766]
    无色消耗 = 3
    data0 = [0, 26104, 28754, 31401, 34049, 36699, 39347, 41994, 44644, 47292, 49940, 52590, 55235, 57884, 60534, 63180, 65829, 68478, 71126, 73776, 76422, 79071, 81721, 84367, 87014, 89665, 92312, 94961, 97609, 100258, 102905, 105556, 108202, 110850, 113497, 116148, 118794, 121441, 124093, 126739, 129388, 132037, 134685, 137333, 139983, 142629, 145279, 147927, 150576, 153223, 155871]
    hit0 = 1
    data1 = [0, 6092, 6711, 7327, 7947, 8564, 9183, 9800, 10417, 11034, 11654, 12271, 12890, 13508, 14125, 14743, 15361, 15978, 16597, 17216, 17832, 18451, 19068, 19688, 20306, 20923, 21541, 22158, 22775, 23395, 24013, 24631, 25248, 25867, 26483, 27103, 27719, 28338, 28956, 29573, 30190, 30810, 31426, 32046, 32664, 33281, 33898, 34516, 35135, 35753, 36370]
    hit1 = 10

    是否有护石 = 1

    def 装备护石(self, char):
        self.power0 = 1.3
        self.power1 = 1.32
        self.演出时间 -= 0.72


class 技能16(被动技能):
    名称 = '亚丁之力'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击',
            '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸：亚丁降临', '绽放·终章', '盛宴·恶之祭典']
    # 关联技能1 = ['魔灵召唤：波拉斯', '魔灵召唤：瓦尔琪', '魔灵召唤：狂暴布洛克', '魔灵召唤：假面杰森', '魔灵召唤：大画家芭芘', '魔灵召唤：旋转小冯', '魔灵召唤：小吸血鬼夏伊', '魔灵召唤：大富翁鲁邦', '魔灵召唤：迪克老爹', '魔灵召唤：红心女王艾丽莎']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.28 + 0.02 * self.等级, 5)

    # def 加成倍率1(self, 武器类型):
    #     if self.等级 == 0:
    #         return 1.0
    #     else:
    #         return round(1.14 + 0.02 * self.等级, 5)


class 技能17(主动技能):
    名称 = "魔灵乱舞"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [580, 4500]
    无色消耗 = 5
    data0 = [0, 8778, 9670, 10559, 11450, 12341, 13230, 14122, 15012, 15905, 16791, 17684, 18575, 19463, 20356, 21245, 22136, 23028, 23918, 24807, 25698, 26589, 27478, 28371, 29260, 30149, 31042, 31929, 32822, 33714, 34603, 35494, 36385, 37273, 38164, 39056, 39946, 40837, 41729, 42616, 43507, 44399, 45289, 46180, 47071, 47960, 48849, 49742, 50633, 51524, 52414]
    hit0 = 12

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.23


class 技能18(主动技能):
    名称 = "黑曜之眸：亚丁降临"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 17742, 21853, 25964, 30080, 34195, 38310, 42420, 46538, 50647, 54761, 58877, 62995, 67107, 71223, 75333, 79446, 83560, 87679, 91793, 95904, 100013, 104128, 108245, 112358, 116474, 120592, 124696, 128813, 132931, 137042, 141159, 145277, 149383, 153498, 157613, 161727, 165844, 169956, 174066, 178186, 182295, 186413, 190531, 194641, 198758, 202870, 206981, 211098, 215208, 219327]
    hit0 = 11
    data1 = [0, 734, 906, 1073, 1247, 1417, 1585, 1756, 1925, 2095, 2265, 2436, 2606, 2776, 2947, 3116, 3287, 3454, 3629, 3797, 3967, 4137, 4307, 4480, 4648, 4818, 4988, 5157, 5328, 5496, 5670, 5838, 6009, 6177, 6348, 6518, 6689, 6861, 7030, 7201, 7369, 7538, 7709, 7878, 8050, 8223, 8389, 8560, 8730, 8900, 9071]
    hit1 = 20

class 技能19(主动技能):
    名称 = "绽放·终章"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [1242, 2832]
    无色消耗 = 7
    data0 = [0, 47651, 52485, 57317, 62154, 66987, 71822, 76655, 81489, 86323, 91158, 95992, 100827, 105660, 110493, 115327, 120163, 124997, 129830, 134663, 139498, 144332, 149164, 154001, 158834, 163668, 168502, 173336, 178170, 183004, 187839, 192673, 197507, 202340, 207176, 212010, 216842, 221677, 226510, 231346, 236179, 241014, 245847, 250683, 255516, 260350, 265185, 270018, 274853, 279686, 284522]
    hit0 = 1
    data1 = [0, 30973, 34114, 37257, 40400, 43542, 46683, 49825, 52969, 56112, 59252, 62395, 65537, 68679, 71822, 74964, 78106, 81247, 84389, 87531, 90674, 93816, 96959, 100102, 103241, 106385, 109527, 112670, 115813, 118953, 122096, 125238, 128380, 131522, 134663, 137806, 140949, 144091, 147232, 150375, 153516, 156660, 159802, 162944, 166087, 169227, 172370, 175512, 178654, 181797, 184940]
    hit1 = 4
    data2 = [0, 1271, 1400, 1528, 1659, 1787, 1915, 2043, 2174, 2303, 2432, 2560, 2690, 2818, 2948, 3075, 3204, 3332, 3462, 3592, 3721, 3850, 3978, 4108, 4237, 4364, 4493, 4622, 4753, 4881, 5010, 5139, 5268, 5398, 5525, 5653, 5783, 5910, 6042, 6170, 6300, 6427, 6558, 6685, 6815, 6942, 7071, 7200, 7332, 7459, 7587]
    hit2 = 15


class 技能20(被动技能):
    名称 = '黑色曜日'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能21(主动技能):
    名称 = "盛宴·恶之祭典"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 8056]
    无色消耗 = 15
    data0 = [0, 624557, 769383, 914207, 1059033, 1203858, 1348682, 1493508, 1638332, 1783157, 1927981, 2072807, 2217631, 2362457, 2507282, 2652106, 2796932, 2941756, 3086582, 3231406, 3376231, 3521056, 3665881, 3810706, 3955532, 4100356, 4245182, 4390006, 4534832, 4679658, 4824480, 4969307, 5114130, 5258957, 5403780, 5548606, 5693430, 5838256, 5983080, 6127905, 6272729, 6417554, 6562381, 6707206, 6852031, 6996856, 7141680, 7286504, 7431330, 7576154, 7720980]
    hit0 = 1


# region 宝宝 秒伤待测试

# class 技能1(主动技能):
#     名称 = '魔灵召唤：波拉斯'
#     备注 = '(每秒DPS)'
#     所在等级 = 15
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 7

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0


# class 技能2(主动技能):
#     名称 = '魔灵召唤：瓦尔琪'
#     备注 = '(每秒DPS)'
#     所在等级 = 15
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 7

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0

# class 技能5(主动技能):
#     名称 = '魔灵召唤：狂暴布洛克'
#     备注 = '(每秒DPS)'
#     所在等级 = 20
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 7

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0

# class 技能9(主动技能):
#     名称 = '魔灵召唤：假面杰森'
#     备注 = '(每秒DPS)'
#     所在等级 = 25
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 7

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0


# class 技能10(主动技能):
#     名称 = '魔灵召唤：大画家芭芘'
#     备注 = '(每秒DPS)'
#     所在等级 = 25
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 7

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0

# class 技能13(主动技能):
#     名称 = '魔灵召唤：旋转小冯'
#     备注 = '(每秒DPS)'
#     所在等级 = 30
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 7

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0


# class 技能14(主动技能):
#     名称 = '魔灵召唤：小吸血鬼夏伊'
#     备注 = '(每秒DPS)'
#     所在等级 = 30
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 7

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0

# class 技能16(主动技能):
#     名称 = '魔灵召唤：大富翁鲁邦'
#     备注 = '(每秒DPS)'
#     所在等级 = 35
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     基础 = 1024.96 * 1.105 * 1.169
#     成长 = 38.23 * 1.105 * 1.169
#     攻击次数 = 18/5/20
#     #data1 = [0, 528, 564, 600, 636, 673, 709, 745, 781, 817, 852, 890, 926, 962, 998, 1034, 1069, 1107, 1142, 1179, 1213, 1249, 1285, 1322, 1358, 1394, 1430, 1466, 1502, 1538, 1575, 1610, 1646, 1683, 1719, 1755, 1790, 1827, 1862, 1898, 1936, 1971, 2007, 2043, 2079, 2115, 2152, 2187, 2224, 2260, 2296, 2330, 2369, 2404, 2440, 2476, 2512, 2548, 2584, 2621, 2656, 2692, 2729, 2765, 2800, 2836, 2872, 2909, 2946, 2981, 3017]
#     #data2 = [0, 1163, 1242, 1321, 1400, 1480, 1559, 1639, 1717, 1797, 1875, 1958, 2038, 2117, 2196, 2275, 2354, 2435, 2514, 2593, 2669, 2749, 2828, 2908, 2987, 3067, 3145, 3226, 3305, 3384, 3464, 3542, 3622, 3702, 3782, 3860, 3938, 4019, 4097, 4177, 4260, 4338, 4416, 4494, 4574, 4654, 4733, 4811, 4892, 4970, 5049, 5128, 5210, 5287, 5367, 5445, 5525, 5606, 5684, 5765, 5844, 5922, 6004, 6082, 6160, 6237, 6317, 6398, 6479, 6557, 6637]
#     #data3 = [0, 1743, 1862, 1982, 2100, 2219, 2338, 2458, 2577, 2695, 2813, 2937, 3056, 3175, 3293, 3412, 3531, 3652, 3770, 3889, 4003, 4122, 4242, 4362, 4480, 4602, 4719, 4837, 4957, 5078, 5196, 5315, 5432, 5552, 5673, 5792, 5908, 6028, 6145, 6263, 6390, 6505, 6624, 6741, 6861, 6980, 7100, 7219, 7337, 7456, 7574, 7691, 7815, 7932, 8051, 8168, 8288, 8408, 8527, 8646, 8764, 8883, 9005, 9123, 9240, 9356, 9474, 9596, 9717, 9835, 9954]
#     #data4 = [0, 627, 671, 713, 755, 799, 842, 885, 927, 969, 1013, 1057, 1099, 1143, 1186, 1228, 1272, 1315, 1357, 1400, 1441, 1485, 1527, 1571, 1613, 1656, 1698, 1742, 1785, 1828, 1870, 1913, 1956, 1999, 2042, 2085, 2127, 2170, 2212, 2255, 2300, 2343, 2384, 2426, 2471, 2512, 2556, 2598, 2641, 2686, 2727, 2769, 2813, 2855, 2898, 2940, 2984, 3028, 3070, 3112, 3155, 3198, 3241, 3284, 3327, 3369, 3411, 3455, 3498, 3541, 3583]
#     #数据 = [data1, data2, data3, data4]
#     #次数 = [8, 4, 1, 1*5,]
#     TP成长 = 0.10
#     TP上限 = 5

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0

# class 技能18(主动技能):
#     名称 = '魔灵召唤：迪克老爹'
#     备注 = '(每秒DPS)'
#     所在等级 = 40
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 5

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0

# class 技能20(主动技能):
#     名称 = '魔灵召唤：红心女王艾丽莎'
#     备注 = '(每秒DPS)'
#     所在等级 = 45
#     等级上限 = 70
#     学习间隔 = 2
#     等级精通 = 60

#     TP成长 = 0.10
#     TP上限 = 5

#     def 等效CD(self, 武器类型, 输出类型):
#         return 1.0

# endregion

class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'chaos'
        self.名称 = '皓曦·混沌魔灵'
        self.角色 = '守护者'
        self.角色类型 = '输出'
        self.职业 = '混沌魔灵'
        # 用来筛CP武器的
        self.转职 = '混沌魔灵'
        self.武器选项 = ['太刀', '钝器', '巨剑', '短剑']
        self.输出类型选项 = ['魔法固伤']
        self.防具精通属性 = ['智力']
        self.类型 = '魔法固伤'
        self.武器类型 = ['短剑']
        self.防具类型 = '重甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.0

        super().__init__(equVersion)

    def set_skill_info(self, info, rune_except=["连锁共振"], clothes_pants=[], rune_start_lv=15) -> None:
        return super().set_skill_info(info, rune_except, clothes_pants, rune_start_lv)
